
Prêt(e) à chanter sous la pluie ?
Pour faire suite au précédent épisode (animation et réaction au clavier), cet atelier propose de créer un premier jeu interactif qui a pour but de collectionner les gouttes de pluie...
Le but est d'avoir un menu au lancement du jeu qui permette de joueur ou quitter.
Commençons donc par afficher un menu avec 2 entrées :

Réalisé par le code ci-dessous:

Cette version est purement visuelle et l'utilisateur ne peut pas encore interagir. Toutefois c'est déjà une bonne base qui présente une idée du résultat.
On va maintenant adapter la version statique pour que l'appui des flèches sur le clavier permette de choisir l'option.
Pour réagir aux flèches du clavier, on commence par se souvenir que la console est un système de coordonnées à 2 dimensions et donc que le texte "Jouer" arrive à la ligne numéro 7:

Ceci est utile parce que si l'utilisateur appuie sur la flèche en bas, on devra réécrire le texte "Jouer" sans le fond rouge. Et par contre, on devra réécrire le texte "Quitter" avec le fond rouge :


Pour s'approprier intégralement la console, la commande suivante insérée au tout début du programme améliore le rendu:
Effacer l'écran.
Pour résumer, on peut démarrer tout programme de jeu avec les commandes suivantes:
Effacer l'écran.
Masquer le curseur.
Pour l'instant le programme quitte si on appuie sur Enter. On va donc réagir à cela on regardant quelle était la dernière option choisie:


On va maintenant se concentrer sur le jeu qui habituellement est une répétition d'opérations:
Cela veut dire que le code du jeu sera à l'intérieur d'une répétition avec comme condition d'arrêt la fatigue de l'utilisateur qui voudra arrêter.
Pour faire simple, l'appui sur la touche Escape (Échap) quittera donc le jeu et dans ce cas on affiche aussi le message d'au revoir :

On va maintenant faire tomber une goutte de pluie:

Pour réaliser cette animation, on reprend les élément vus jusque là, soit:
Ce qui donne:

Il faut maintenant ajouter le collecteur. Ce dernier ressemble beaucoup à ce qui a été fait précédemment en faisant bouger un caractère avec les touches fléchées:

Avec un code ressemblant à ceci:

L'intérêt du jeu encore relatif jusqu'à présent va augmenter en comptabilisant et affichant les scores:

correspondant aux modifications suivantes:

Il est temps de faire le point sur les compétences acquises: